package com.nervous.jiaoli.face.tag.impl;

import com.nervous.jiaoli.face.tag.Tag;
import com.nervous.jiaoli.face.tag.TagDto;
import com.nervous.jiaoli.face.tag.TagService;
import com.nervous.jiaoli.face.tag.dao.TagDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.Calendar;
import java.util.List;
@Slf4j
@Service
@Transactional
public class TagServiceImpl implements TagService {

    @Resource
    private TagDao tagDao;

    @Override
    public List<Tag> getTagList(TagDto tagDto) {
        return tagDao.findTagList(tagDto);
    }

    @Override
    public void createTag(TagDto tagDto) {
        Calendar cal =Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1;
        String mon = month<10 ? ("0"+month):(""+month);
        int day = cal.get(Calendar.DAY_OF_MONTH);
        String d = day<10 ? ("0"+day):(""+day);
        String prefix= "T" + year + mon + d;
        log.info("prefix: " + prefix);
        String newNum = tagDao.findTagNewNum(prefix);
        tagDto.setT_id(prefix+newNum);
        tagDao.createTag(tagDto);
    }

    @Override
    public void dropTag(TagDto tagDto) {
        tagDao.dropTag(tagDto);
    }

    @Override
    public boolean checkIfExists(TagDto tagDto) {
        int cnt = tagDao.findCount(tagDto);
        return cnt > 0;
    }

    @Override
    public int deleteNumber(TagDto tagDto) {
        int cnt = tagDao.findCount(tagDto);
        return cnt;
    }


}
